home *** CD-ROM | disk | FTP | other *** search
/ PC Plus SuperCD (UK) 1998 August / PC Plus SuperCD 50b Issue 142 (CD142b) (August 1998).iso / handson / Java / sc20form.jar / com / supercede / forms / SuperCedeHelper.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-01-28  |  17.2 KB  |  712 lines

  1. package com.supercede.forms;
  2.  
  3. import com.supercede.beans.Support;
  4. import java.applet.Applet;
  5. import java.awt.BorderLayout;
  6. import java.awt.CardLayout;
  7. import java.awt.Component;
  8. import java.awt.Container;
  9. import java.awt.Dialog;
  10. import java.awt.FlowLayout;
  11. import java.awt.Frame;
  12. import java.awt.GridBagLayout;
  13. import java.awt.GridLayout;
  14. import java.awt.IllegalComponentStateException;
  15. import java.awt.Image;
  16. import java.awt.LayoutManager;
  17. import java.awt.Panel;
  18. import java.awt.Point;
  19. import java.awt.ScrollPane;
  20. import java.awt.Window;
  21. import java.beans.Beans;
  22. import java.io.File;
  23. import java.io.FileNotFoundException;
  24. import java.io.IOException;
  25. import java.io.InputStream;
  26. import java.io.InvalidObjectException;
  27. import java.io.ObjectInputStream;
  28. import java.net.URL;
  29. import java.util.Enumeration;
  30. import java.util.Locale;
  31. import java.util.Vector;
  32.  
  33. public class SuperCedeHelper {
  34.    public static void convertContainer(Container var0, Container var1) throws ClassCastException, SuperCedeInvalidStateException {
  35.       try {
  36.          if (var0 instanceof Frame) {
  37.             convertFrameToContainer((Frame)var0, var1);
  38.          } else if (var0 instanceof Applet) {
  39.             convertAppletToContainer((Applet)var0, var1);
  40.          } else if (var0 instanceof ScrollPane) {
  41.             convertScrollPaneToContainer((ScrollPane)var0, var1);
  42.          } else if (var0 instanceof Dialog) {
  43.             convertDialogToContainer((Dialog)var0, var1);
  44.          } else if (var0 instanceof Panel) {
  45.             convertPanelToContainer((Panel)var0, var1);
  46.          } else if (var0 instanceof Window) {
  47.             convertWindowToContainer((Window)var0, var1);
  48.          } else {
  49.             throw new ClassCastException("Unexpected (and unsupported) form type.");
  50.          }
  51.       } catch (ClassCastException var3) {
  52.          throw var3;
  53.       }
  54.    }
  55.  
  56.    public static void runTimeConstructor(SuperCedeContainer var0, Vector var1) throws IOException, ClassNotFoundException, ClassCastException, InvalidObjectException, SuperCedeInvalidStateException {
  57.       String var2 = classNameToSerName(var0.getClass().getName());
  58.       ClassLoader var4 = var0.getClass().getClassLoader();
  59.  
  60.       SuperCedeRuntimeInfo var3;
  61.       try {
  62.          Object var5 = Beans.instantiate(var4, var2);
  63.          SuperCedeContainer var6 = (SuperCedeContainer)var5;
  64.          ((SuperCedeDesignContainer)var6).setDesignMode(false);
  65.          ((SuperCedeDesignContainer)var6).setFormListener((DesignModeListener)null);
  66.          var3 = var6.getRuntimeInfo();
  67.          var0.initializeFrom(var6);
  68.       } catch (IOException var7) {
  69.          throw var7;
  70.       } catch (ClassNotFoundException var8) {
  71.          handleBadBean(var0, var2, var4, var8);
  72.          return;
  73.       } catch (ClassCastException var9) {
  74.          throw var9;
  75.       }
  76.  
  77.       setupEventHandlers(var0, var3, var1);
  78.    }
  79.  
  80.    private static void handleBadBean(SuperCedeContainer var0, String var1, ClassLoader var2, ClassNotFoundException var3) throws SuperCedeInvalidStateException {
  81.       String var4 = var1.replace('.', '/').concat(".ser");
  82.       URL var5;
  83.       if (var2 == null) {
  84.          var5 = ClassLoader.getSystemResource(var4);
  85.       } else {
  86.          var5 = var2.getResource(var4);
  87.       }
  88.  
  89.       if (var5 == null) {
  90.          throw new SuperCedeInvalidStateException((Throwable)null, "Can't find serialization file for " + var0.getClass().getName());
  91.       } else {
  92.          SuperCedeInvalidStateException var6 = null;
  93.  
  94.          try {
  95.             InputStream var7 = null;
  96.             ObjectInputStream var8 = null;
  97.  
  98.             try {
  99.                var7 = var5.openStream();
  100.                if (var7 != null) {
  101.                   var8 = new ObjectInputStream(var7);
  102.                   var8.readObject();
  103.                }
  104.             } catch (FileNotFoundException var25) {
  105.             } catch (Throwable var26) {
  106.                var6 = new SuperCedeInvalidStateException(var26, "Invalid or corrupt serialization file for " + var0.getClass().getName() + " (" + var4 + ").");
  107.             } finally {
  108.                try {
  109.                   if (var8 != null) {
  110.                      var8.close();
  111.                   } else if (var7 != null) {
  112.                      var7.close();
  113.                   }
  114.                } catch (IOException var24) {
  115.                }
  116.  
  117.             }
  118.          } finally {
  119.             ;
  120.          }
  121.  
  122.          if (var6 == null) {
  123.             var6 = new SuperCedeInvalidStateException(var3, "Invalid or corrupt serialization file for " + var0.getClass().getName() + " (" + var4 + ").");
  124.          }
  125.  
  126.          throw var6;
  127.       }
  128.    }
  129.  
  130.    public static void setupEventHandlers(SuperCedeContainer var0, SuperCedeRuntimeInfo var1, Vector var2) throws SuperCedeInvalidStateException {
  131.       var1.runTimeInit(var0);
  132.       if (var2 != null) {
  133.          Enumeration var3 = var1.getConnectionElements();
  134.  
  135.          while(var3.hasMoreElements()) {
  136.             SuperCedeConnectionDescriptor var4 = (SuperCedeConnectionDescriptor)var3.nextElement();
  137.             String var5 = var4.getConnectorName();
  138.             Object var6 = null;
  139.  
  140.             for(int var7 = 0; var7 < var2.size(); ++var7) {
  141.                var6 = var2.elementAt(var7);
  142.                String var8 = var6.getClass().getName();
  143.                boolean var9 = var5.equals(var8);
  144.                if (!var9) {
  145.                   int var10 = var8.lastIndexOf(46);
  146.                   if (var10 != -1 && var5.regionMatches(0, var8, var10 + 1, var5.length())) {
  147.                      var9 = true;
  148.                   }
  149.                }
  150.  
  151.                if (var9) {
  152.                   var2.removeElementAt(var7);
  153.                   if (!(var6 instanceof SuperCedeConnector)) {
  154.                      throw new SuperCedeInvalidStateException((Throwable)null, "Expected to find a SuperCedeConnector: " + var8 + ": " + var6);
  155.                   }
  156.                   break;
  157.                }
  158.             }
  159.  
  160.             if (var6 == null) {
  161.                throw new SuperCedeInvalidStateException((Throwable)null, "Expected to find an instance of connector: " + var5);
  162.             }
  163.  
  164.             var4.wireItUp((SuperCedeConnector)var6);
  165.          }
  166.  
  167.          if (var2.size() != 0) {
  168.             throw new SuperCedeInvalidStateException((Throwable)null, "Leftover connector objects: " + var2);
  169.          }
  170.       }
  171.    }
  172.  
  173.    public static String classNameToSerFile(String var0) {
  174.       return var0 + "Data.ser";
  175.    }
  176.  
  177.    public static String classNameToSerName(String var0) {
  178.       return var0 + "Data";
  179.    }
  180.  
  181.    public static String classNameToJavaFile(String var0) {
  182.       return var0 + ".java";
  183.    }
  184.  
  185.    public static String[] splitPath(String var0) {
  186.       int var1 = var0.lastIndexOf(46);
  187.       if (var1 < 0) {
  188.          throw new IllegalArgumentException("Expected a .java extension for " + var0);
  189.       } else {
  190.          String var2 = var0.substring(var1);
  191.          int var3 = var0.lastIndexOf(File.separatorChar);
  192.          if (var3 < 0) {
  193.             throw new IllegalArgumentException("Expected an absolute pathname for " + var0);
  194.          } else {
  195.             String var4;
  196.             for(var4 = var0.substring(var3 + 1, var1); var0.charAt(var3 - 1) == File.separatorChar; --var3) {
  197.             }
  198.  
  199.             String var5 = var0.substring(0, var3 + 1);
  200.             String[] var6 = new String[]{var5, var4, var2};
  201.             return var6;
  202.          }
  203.       }
  204.    }
  205.  
  206.    public static void doDeserializationProcessing(Container var0) throws SuperCedeInvalidStateException {
  207.       processDeserializedComponents(var0, true);
  208.    }
  209.  
  210.    public static void setAppletVisibility(Container var0, boolean var1, boolean var2) {
  211.       int var3 = var0.getComponentCount();
  212.  
  213.       for(int var4 = 0; var4 < var3; ++var4) {
  214.          Component var5 = var0.getComponent(var4);
  215.          if (var5 instanceof Applet) {
  216.             if (var2) {
  217.                ((Applet)var5).start();
  218.             } else {
  219.                ((Applet)var5).stop();
  220.             }
  221.          }
  222.  
  223.          if (var5 instanceof Container) {
  224.             setAppletVisibility((Container)var5, var1, var2);
  225.          }
  226.       }
  227.  
  228.    }
  229.  
  230.    public static String generateSerializationFileName(String var0) {
  231.       String[] var1 = splitPath(var0);
  232.       return var1[0] + classNameToSerFile(var1[1]);
  233.    }
  234.  
  235.    private static void convertFrameToContainer(Frame var0, Container var1) throws ClassCastException, SuperCedeInvalidStateException {
  236.       try {
  237.          if (var1 instanceof Frame) {
  238.             convertFrameToFrame(var0, (Frame)var1);
  239.          } else if (var1 instanceof Applet) {
  240.             convertFrameToApplet(var0, (Applet)var1);
  241.          } else if (var1 instanceof ScrollPane) {
  242.             convertFrameToScrollPane(var0, (ScrollPane)var1);
  243.          } else if (var1 instanceof Dialog) {
  244.             convertFrameToDialog(var0, (Dialog)var1);
  245.          } else if (var1 instanceof Panel) {
  246.             convertFrameToPanel(var0, (Panel)var1);
  247.          } else if (var1 instanceof Window) {
  248.             convertFrameToWindow(var0, (Window)var1);
  249.          } else {
  250.             throw new ClassCastException("Unexpected (and unsupported) form type.");
  251.          }
  252.       } catch (ClassCastException var3) {
  253.          throw var3;
  254.       }
  255.    }
  256.  
  257.    private static void convertAppletToContainer(Applet var0, Container var1) throws ClassCastException, SuperCedeInvalidStateException {
  258.       try {
  259.          if (var1 instanceof Frame) {
  260.             convertAppletToFrame(var0, (Frame)var1);
  261.          } else if (var1 instanceof Applet) {
  262.             convertAppletToApplet(var0, (Applet)var1);
  263.          } else if (var1 instanceof ScrollPane) {
  264.             convertAppletToScrollPane(var0, (ScrollPane)var1);
  265.          } else if (var1 instanceof Dialog) {
  266.             convertAppletToDialog(var0, (Dialog)var1);
  267.          } else if (var1 instanceof Panel) {
  268.             convertAppletToPanel(var0, (Panel)var1);
  269.          } else if (var1 instanceof Window) {
  270.             convertAppletToWindow(var0, (Window)var1);
  271.          } else {
  272.             throw new ClassCastException("Unexpected (and unsupported) form type.");
  273.          }
  274.       } catch (ClassCastException var3) {
  275.          throw var3;
  276.       }
  277.    }
  278.  
  279.    private static void convertScrollPaneToContainer(ScrollPane var0, Container var1) throws ClassCastException, SuperCedeInvalidStateException {
  280.       try {
  281.          if (var1 instanceof Frame) {
  282.             convertScrollPaneToFrame(var0, (Frame)var1);
  283.          } else if (var1 instanceof Applet) {
  284.             convertScrollPaneToApplet(var0, (Applet)var1);
  285.          } else if (var1 instanceof ScrollPane) {
  286.             convertScrollPaneToScrollPane(var0, (ScrollPane)var1);
  287.          } else if (var1 instanceof Dialog) {
  288.             convertScrollPaneToDialog(var0, (Dialog)var1);
  289.          } else if (var1 instanceof Panel) {
  290.             convertScrollPaneToPanel(var0, (Panel)var1);
  291.          } else if (var1 instanceof Window) {
  292.             convertScrollPaneToWindow(var0, (Window)var1);
  293.          } else {
  294.             throw new ClassCastException("Unexpected (and unsupported) form type.");
  295.          }
  296.       } catch (ClassCastException var3) {
  297.          throw var3;
  298.       }
  299.    }
  300.  
  301.    private static void convertDialogToContainer(Dialog var0, Container var1) throws ClassCastException, SuperCedeInvalidStateException {
  302.       try {
  303.          if (var1 instanceof Frame) {
  304.             convertDialogToFrame(var0, (Frame)var1);
  305.          } else if (var1 instanceof Applet) {
  306.             convertDialogToApplet(var0, (Applet)var1);
  307.          } else if (var1 instanceof ScrollPane) {
  308.             convertDialogToScrollPane(var0, (ScrollPane)var1);
  309.          } else if (var1 instanceof Dialog) {
  310.             convertDialogToDialog(var0, (Dialog)var1);
  311.          } else if (var1 instanceof Panel) {
  312.             convertDialogToPanel(var0, (Panel)var1);
  313.          } else if (var1 instanceof Window) {
  314.             convertDialogToWindow(var0, (Window)var1);
  315.          } else {
  316.             throw new ClassCastException("Unexpected (and unsupported) form type.");
  317.          }
  318.       } catch (ClassCastException var3) {
  319.          throw var3;
  320.       }
  321.    }
  322.  
  323.    private static void convertPanelToContainer(Panel var0, Container var1) throws ClassCastException, SuperCedeInvalidStateException {
  324.       try {
  325.          if (var1 instanceof Frame) {
  326.             convertPanelToFrame(var0, (Frame)var1);
  327.          } else if (var1 instanceof Applet) {
  328.             convertPanelToApplet(var0, (Applet)var1);
  329.          } else if (var1 instanceof ScrollPane) {
  330.             convertPanelToScrollPane(var0, (ScrollPane)var1);
  331.          } else if (var1 instanceof Dialog) {
  332.             convertPanelToDialog(var0, (Dialog)var1);
  333.          } else if (var1 instanceof Panel) {
  334.             convertPanelToPanel(var0, (Panel)var1);
  335.          } else if (var1 instanceof Window) {
  336.             convertPanelToWindow(var0, (Window)var1);
  337.          } else {
  338.             throw new ClassCastException("Unexpected (and unsupported) form type.");
  339.          }
  340.       } catch (ClassCastException var3) {
  341.          throw var3;
  342.       }
  343.    }
  344.  
  345.    private static void convertWindowToContainer(Window var0, Container var1) throws ClassCastException, SuperCedeInvalidStateException {
  346.       try {
  347.          if (var1 instanceof Frame) {
  348.             convertWindowToFrame(var0, (Frame)var1);
  349.          } else if (var1 instanceof Applet) {
  350.             convertWindowToApplet(var0, (Applet)var1);
  351.          } else if (var1 instanceof ScrollPane) {
  352.             convertWindowToScrollPane(var0, (ScrollPane)var1);
  353.          } else if (var1 instanceof Dialog) {
  354.             convertWindowToDialog(var0, (Dialog)var1);
  355.          } else if (var1 instanceof Panel) {
  356.             convertWindowToPanel(var0, (Panel)var1);
  357.          } else if (var1 instanceof Window) {
  358.             convertWindowToWindow(var0, (Window)var1);
  359.          } else {
  360.             throw new ClassCastException("Unexpected (and unsupported) form type.");
  361.          }
  362.       } catch (ClassCastException var3) {
  363.          throw var3;
  364.       }
  365.    }
  366.  
  367.    private static void convertFrameToFrame(Frame var0, Frame var1) throws SuperCedeInvalidStateException {
  368.       copyContainerProperties(var0, var1);
  369.       moveContainerComponents(var0, var1);
  370.       Image var2 = var0.getIconImage();
  371.       if (var2 != null) {
  372.          var1.setIconImage(var2);
  373.       }
  374.  
  375.       var1.setMenuBar(var0.getMenuBar());
  376.       var1.setResizable(var0.isResizable());
  377.       var1.setTitle(var0.getTitle());
  378.    }
  379.  
  380.    private static void convertFrameToApplet(Frame var0, Applet var1) throws SuperCedeInvalidStateException {
  381.       copyContainerProperties(var0, var1);
  382.       moveContainerComponents(var0, var1);
  383.    }
  384.  
  385.    private static void convertFrameToScrollPane(Frame var0, ScrollPane var1) throws SuperCedeInvalidStateException {
  386.       copyContainerProperties(var0, var1);
  387.       moveContainerComponents(var0, var1);
  388.    }
  389.  
  390.    private static void convertFrameToDialog(Frame var0, Dialog var1) throws SuperCedeInvalidStateException {
  391.       copyContainerProperties(var0, var1);
  392.       moveContainerComponents(var0, var1);
  393.       var1.setResizable(var0.isResizable());
  394.       var1.setTitle(var0.getTitle());
  395.    }
  396.  
  397.    private static void convertFrameToPanel(Frame var0, Panel var1) throws SuperCedeInvalidStateException {
  398.       copyContainerProperties(var0, var1);
  399.       moveContainerComponents(var0, var1);
  400.    }
  401.  
  402.    private static void convertFrameToWindow(Frame var0, Window var1) throws SuperCedeInvalidStateException {
  403.       copyContainerProperties(var0, var1);
  404.       moveContainerComponents(var0, var1);
  405.    }
  406.  
  407.    private static void convertAppletToFrame(Applet var0, Frame var1) throws SuperCedeInvalidStateException {
  408.       copyContainerProperties(var0, var1);
  409.       moveContainerComponents(var0, var1);
  410.    }
  411.  
  412.    private static void convertAppletToApplet(Applet var0, Applet var1) throws SuperCedeInvalidStateException {
  413.       copyContainerProperties(var0, var1);
  414.       moveContainerComponents(var0, var1);
  415.    }
  416.  
  417.    private static void convertAppletToScrollPane(Applet var0, ScrollPane var1) throws SuperCedeInvalidStateException {
  418.       copyContainerProperties(var0, var1);
  419.       moveContainerComponents(var0, var1);
  420.    }
  421.  
  422.    private static void convertAppletToDialog(Applet var0, Dialog var1) throws SuperCedeInvalidStateException {
  423.       copyContainerProperties(var0, var1);
  424.       moveContainerComponents(var0, var1);
  425.    }
  426.  
  427.    private static void convertAppletToPanel(Applet var0, Panel var1) throws SuperCedeInvalidStateException {
  428.       copyContainerProperties(var0, var1);
  429.       moveContainerComponents(var0, var1);
  430.    }
  431.  
  432.    private static void convertAppletToWindow(Applet var0, Window var1) throws SuperCedeInvalidStateException {
  433.       copyContainerProperties(var0, var1);
  434.       moveContainerComponents(var0, var1);
  435.    }
  436.  
  437.    private static void convertScrollPaneToFrame(ScrollPane var0, Frame var1) throws SuperCedeInvalidStateException {
  438.       copyContainerProperties(var0, var1);
  439.       moveContainerComponents(var0, var1);
  440.    }
  441.  
  442.    private static void convertScrollPaneToApplet(ScrollPane var0, Applet var1) throws SuperCedeInvalidStateException {
  443.       copyContainerProperties(var0, var1);
  444.       moveContainerComponents(var0, var1);
  445.    }
  446.  
  447.    private static void convertScrollPaneToScrollPane(ScrollPane var0, ScrollPane var1) throws SuperCedeInvalidStateException {
  448.       copyContainerProperties(var0, var1);
  449.       moveContainerComponents(var0, var1);
  450.  
  451.       try {
  452.          Point var2 = var0.getScrollPosition();
  453.          var1.setScrollPosition(var2);
  454.       } catch (NullPointerException var6) {
  455.       }
  456.  
  457.       SuperCedeScrollPane var3;
  458.       SuperCedeScrollPane var7;
  459.       try {
  460.          var7 = (SuperCedeScrollPane)var0;
  461.          var3 = (SuperCedeScrollPane)var1;
  462.       } catch (ClassCastException var5) {
  463.          throw new SuperCedeInvalidStateException(var5, "Unexpected (and unsupported) form type.");
  464.       }
  465.  
  466.       var3.setScrollbarDisplayPolicy(var7.getScrollbarDisplayPolicy());
  467.    }
  468.  
  469.    private static void convertScrollPaneToDialog(ScrollPane var0, Dialog var1) throws SuperCedeInvalidStateException {
  470.       copyContainerProperties(var0, var1);
  471.       moveContainerComponents(var0, var1);
  472.    }
  473.  
  474.    private static void convertScrollPaneToPanel(ScrollPane var0, Panel var1) throws SuperCedeInvalidStateException {
  475.       copyContainerProperties(var0, var1);
  476.       moveContainerComponents(var0, var1);
  477.    }
  478.  
  479.    private static void convertScrollPaneToWindow(ScrollPane var0, Window var1) throws SuperCedeInvalidStateException {
  480.       copyContainerProperties(var0, var1);
  481.       moveContainerComponents(var0, var1);
  482.    }
  483.  
  484.    private static void convertDialogToFrame(Dialog var0, Frame var1) throws SuperCedeInvalidStateException {
  485.       copyContainerProperties(var0, var1);
  486.       moveContainerComponents(var0, var1);
  487.       var1.setResizable(var0.isResizable());
  488.       var1.setTitle(var0.getTitle());
  489.    }
  490.  
  491.    private static void convertDialogToApplet(Dialog var0, Applet var1) throws SuperCedeInvalidStateException {
  492.       copyContainerProperties(var0, var1);
  493.       moveContainerComponents(var0, var1);
  494.    }
  495.  
  496.    private static void convertDialogToScrollPane(Dialog var0, ScrollPane var1) throws SuperCedeInvalidStateException {
  497.       copyContainerProperties(var0, var1);
  498.       moveContainerComponents(var0, var1);
  499.    }
  500.  
  501.    private static void convertDialogToDialog(Dialog var0, Dialog var1) throws SuperCedeInvalidStateException {
  502.       copyContainerProperties(var0, var1);
  503.       moveContainerComponents(var0, var1);
  504.       var1.setModal(var0.isModal());
  505.       var1.setResizable(var0.isResizable());
  506.       var1.setTitle(var0.getTitle());
  507.  
  508.       try {
  509.          ((SuperCedeDialog)var1).shadowModal = ((SuperCedeDialog)var0).shadowModal;
  510.       } catch (ClassCastException var2) {
  511.       }
  512.    }
  513.  
  514.    private static void convertDialogToPanel(Dialog var0, Panel var1) throws SuperCedeInvalidStateException {
  515.       copyContainerProperties(var0, var1);
  516.       moveContainerComponents(var0, var1);
  517.    }
  518.  
  519.    private static void convertDialogToWindow(Dialog var0, Window var1) throws SuperCedeInvalidStateException {
  520.       copyContainerProperties(var0, var1);
  521.       moveContainerComponents(var0, var1);
  522.    }
  523.  
  524.    private static void convertPanelToFrame(Panel var0, Frame var1) throws SuperCedeInvalidStateException {
  525.       copyContainerProperties(var0, var1);
  526.       moveContainerComponents(var0, var1);
  527.    }
  528.  
  529.    private static void convertPanelToApplet(Panel var0, Applet var1) throws SuperCedeInvalidStateException {
  530.       copyContainerProperties(var0, var1);
  531.       moveContainerComponents(var0, var1);
  532.    }
  533.  
  534.    private static void convertPanelToScrollPane(Panel var0, ScrollPane var1) throws SuperCedeInvalidStateException {
  535.       copyContainerProperties(var0, var1);
  536.       moveContainerComponents(var0, var1);
  537.    }
  538.  
  539.    private static void convertPanelToDialog(Panel var0, Dialog var1) throws SuperCedeInvalidStateException {
  540.       copyContainerProperties(var0, var1);
  541.       moveContainerComponents(var0, var1);
  542.    }
  543.  
  544.    private static void convertPanelToPanel(Panel var0, Panel var1) throws SuperCedeInvalidStateException {
  545.       copyContainerProperties(var0, var1);
  546.       moveContainerComponents(var0, var1);
  547.    }
  548.  
  549.    private static void convertPanelToWindow(Panel var0, Window var1) throws SuperCedeInvalidStateException {
  550.       copyContainerProperties(var0, var1);
  551.       moveContainerComponents(var0, var1);
  552.    }
  553.  
  554.    private static void convertWindowToFrame(Window var0, Frame var1) throws SuperCedeInvalidStateException {
  555.       copyContainerProperties(var0, var1);
  556.       moveContainerComponents(var0, var1);
  557.    }
  558.  
  559.    private static void convertWindowToApplet(Window var0, Applet var1) throws SuperCedeInvalidStateException {
  560.       copyContainerProperties(var0, var1);
  561.       moveContainerComponents(var0, var1);
  562.    }
  563.  
  564.    private static void convertWindowToScrollPane(Window var0, ScrollPane var1) throws SuperCedeInvalidStateException {
  565.       copyContainerProperties(var0, var1);
  566.       moveContainerComponents(var0, var1);
  567.    }
  568.  
  569.    private static void convertWindowToDialog(Window var0, Dialog var1) throws SuperCedeInvalidStateException {
  570.       copyContainerProperties(var0, var1);
  571.       moveContainerComponents(var0, var1);
  572.    }
  573.  
  574.    private static void convertWindowToPanel(Window var0, Panel var1) throws SuperCedeInvalidStateException {
  575.       copyContainerProperties(var0, var1);
  576.       moveContainerComponents(var0, var1);
  577.    }
  578.  
  579.    private static void convertWindowToWindow(Window var0, Window var1) throws SuperCedeInvalidStateException {
  580.       copyContainerProperties(var0, var1);
  581.       moveContainerComponents(var0, var1);
  582.    }
  583.  
  584.    private static void copyContainerProperties(Container var0, Container var1) {
  585.       ((Component)var1).setBackground(((Component)var0).getBackground());
  586.       ((Component)var1).setBounds(((Component)var0).getBounds());
  587.       ((Component)var1).setCursor(((Component)var0).getCursor());
  588.       ((Component)var1).setEnabled(((Component)var0).isEnabled());
  589.       ((Component)var1).setFont(((Component)var0).getFont());
  590.       ((Component)var1).setForeground(((Component)var0).getForeground());
  591.       ((Component)var1).setName(((Component)var0).getName());
  592.  
  593.       try {
  594.          Locale var2 = ((Component)var0).getLocale();
  595.          ((Component)var1).setLocale(var2);
  596.       } catch (IllegalComponentStateException var5) {
  597.       }
  598.  
  599.       if (!(var1 instanceof ScrollPane)) {
  600.          LayoutManager var6 = var0.getLayout();
  601.          if (var6 == null) {
  602.             var1.setLayout((LayoutManager)null);
  603.             return;
  604.          }
  605.  
  606.          if (var6 instanceof BorderLayout) {
  607.             BorderLayout var9 = (BorderLayout)var6;
  608.             BorderLayout var12 = new BorderLayout();
  609.             var12.setVgap(var9.getVgap());
  610.             var12.setHgap(var9.getHgap());
  611.             var1.setLayout(var12);
  612.             return;
  613.          }
  614.  
  615.          if (var6 instanceof CardLayout) {
  616.             CardLayout var8 = (CardLayout)var6;
  617.             CardLayout var11 = new CardLayout();
  618.             var11.setVgap(var8.getVgap());
  619.             var11.setHgap(var8.getHgap());
  620.             var1.setLayout(var11);
  621.             return;
  622.          }
  623.  
  624.          if (var6 instanceof FlowLayout) {
  625.             FlowLayout var7 = (FlowLayout)var6;
  626.             FlowLayout var10 = new FlowLayout();
  627.             var10.setVgap(var7.getVgap());
  628.             var10.setHgap(var7.getHgap());
  629.             var10.setAlignment(var7.getAlignment());
  630.             var1.setLayout(var10);
  631.             return;
  632.          }
  633.  
  634.          if (var6 instanceof GridLayout) {
  635.             GridLayout var3 = (GridLayout)var6;
  636.             GridLayout var4 = new GridLayout();
  637.             var4.setVgap(var3.getVgap());
  638.             var4.setHgap(var3.getHgap());
  639.             var4.setRows(var3.getRows());
  640.             var4.setColumns(var3.getColumns());
  641.             var1.setLayout(var4);
  642.             return;
  643.          }
  644.  
  645.          if (var6 instanceof GridBagLayout) {
  646.             var1.setLayout(new GridBagLayout());
  647.             return;
  648.          }
  649.  
  650.          var1.setLayout((LayoutManager)null);
  651.       }
  652.  
  653.    }
  654.  
  655.    private static void moveContainerComponents(Container var0, Container var1) throws SuperCedeInvalidStateException {
  656.       SuperCedeDesignContainer var2;
  657.       SuperCedeDesignContainer var3;
  658.       try {
  659.          var2 = (SuperCedeDesignContainer)var0;
  660.          var3 = (SuperCedeDesignContainer)var1;
  661.       } catch (ClassCastException var9) {
  662.          throw new SuperCedeInvalidStateException(var9, "Unexpected (and unsupported) form type.");
  663.       }
  664.  
  665.       int var4 = var0.getComponentCount();
  666.  
  667.       for(int var5 = 0; var5 < var4; ++var5) {
  668.          try {
  669.             Component var6 = var0.getComponent(0);
  670.             Object var7 = var2.getLayoutConstraints(var6);
  671.             var3.addComponent(var6, var7);
  672.          } catch (ArrayIndexOutOfBoundsException var8) {
  673.             throw new SuperCedeInvalidStateException(var8, "Component list changed underneath us!");
  674.          }
  675.       }
  676.  
  677.       if (!var3.isDesignMode()) {
  678.          processDeserializedComponents(var1, false);
  679.       }
  680.  
  681.    }
  682.  
  683.    public static void processDeserializedComponents(Container var0, boolean var1) throws SuperCedeInvalidStateException {
  684.       int var2 = var0.getComponentCount();
  685.  
  686.       for(int var3 = 0; var3 < var2; ++var3) {
  687.          try {
  688.             Component var4 = var0.getComponent(var3);
  689.             if (var4 instanceof Applet) {
  690.                Applet var5 = (Applet)var4;
  691.                var5.setStub(new SuperCedeAppletStub(var5));
  692.             }
  693.  
  694.             if (var4 instanceof Support) {
  695.                ((Support)var4).doPostSerializeProcessing(var1);
  696.             }
  697.  
  698.             if (var4 instanceof Container) {
  699.                processDeserializedComponents((Container)var4, var1);
  700.             }
  701.          } catch (ArrayIndexOutOfBoundsException var6) {
  702.             throw new SuperCedeInvalidStateException(var6, "Invalid component index.");
  703.          } catch (ClassCastException var7) {
  704.             throw new SuperCedeInvalidStateException(var7, "Attempted cast failed.");
  705.          } catch (Throwable var8) {
  706.             throw new SuperCedeInvalidStateException(var8, "Unexpected exception");
  707.          }
  708.       }
  709.  
  710.    }
  711. }
  712.